package com.mall.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.common.domain.PageDTO;
import com.mall.common.domain.PageQuery;
import com.mall.domain.dto.OrderFormDTO;
import com.mall.domain.po.Order;
import com.mall.domain.response.Response;
import com.mall.domain.vo.OrderCountVO;
import com.mall.domain.vo.OrderVO;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 */
public interface IOrderService extends IService<Order> {

    Long createOrder(OrderFormDTO orderFormDTO);

    void markOrderPaySuccess(Long orderId);

    Response<OrderCountVO> dashboard();

    Response<PageDTO<OrderVO>> getOrderList(PageQuery pageQuery, String orderNo, Integer status, String startDate, String endDate);
    
    boolean cancelOrder(Long orderId);
    
    boolean shipOrder(Long orderId, String expressCompany, String trackingNumber);

    Response<List<OrderVO>> myOrders(Integer status);

    Response<?> shipping(Long orderid);
}
